#pragma once

#include "ILevel.h"
#include "InfoOverlay.h"

namespace TwoDockTutorialLevelState {
	enum Enum {
		START_ONE,
		START_TWO,
		DOCKS_OVERLAY,
		WAITING_FOR_SHIPS,
		WAITING_FOR_EXIT,
	};
}

class Ship;

class TwoDockTutorialLevel : public ILevel {

public:

	virtual ~TwoDockTutorialLevel();

	void Load( Dock* docks, GameplayBackground* background );
	void Unload();
	
	LevelUpdateReturnStatus::Enum Update( DockType::Enum *type, CIwFVec2* p1, CIwFVec2* p2, float dt );
	
	void Draw ();
	
	void ShipAdded( Ship *ship );
	void ShipOutOfScreen( Ship *ship );
	
private:
	TwoDockTutorialLevelState::Enum m_current_state;
	int m_num_of_active_ships;
	Ship *m_ship;

	InfoOverlay m_different_docks_overlay;
};